import type { ElementType, LegacyRef } from 'react';
import type { ColorEnum, SizeEnum } from '../common';

export interface LabelOptions {
  /**
   * 标签或组件名称
   */
  as?: ElementType;
  /**
   * 图片
   */
  image?: boolean;
  /**
   * 颜色
   */
  color?: ColorEnum | 'primary' | 'secondary';
  /**
   * 详情
   */
  detail?: string;
  /**
   * 关闭图标
   */
  close?: boolean | 'left';
  /**
   * 指示
   */
  pointing?: boolean | 'bottom' | 'left' | 'right';
  /**
   * 基本样式
   */
  basic?: boolean;
  /**
   * 角标
   */
  corner?: 'left' | 'right';
  /**
   * 标签
   */
  tag?: boolean;
  /**
   * 色带
   */
  ribbon?: boolean | 'right';
  /**
   * 图标
   */
  icon?: boolean | 'left' | 'right';
  /**
   * 附属
   */
  attached?: 'top' | 'bottom' | 'top right' | 'top left' | 'bottom left' | 'bottom right';
  /**
   * 水平
   */
  horizontal?: boolean;
  /**
   * 浮动
   */
  floating?: boolean | 'left' | 'bottom' | 'left aligned' | 'right aligned';
  /**
   * 圆形
   */
  circular?: boolean;
  /**
   * 空
   */
  empty?: boolean;
  /**
   * 尺寸大小
   */
  size?: SizeEnum;
  /**
   * 深色背景
   */
  inverted?: boolean;
  /**
   * 转发 ref
   */
  forwardedRef?: LegacyRef<HTMLElement>;
}
